import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:sonora/models/sj_broad_caster_data.dart';

part 'sj_media_data.g.dart';
part 'sj_media_data.freezed.dart';

@freezed
class SjMediaData with _$SjMediaData {
  @JsonSerializable(explicitToJson: true)
  const factory SjMediaData({
    String? mediaId,
    String? mediaType,
    String? mediaPath,
    String? thumbUrl,
    String? middleThumbUrl,
    String? mediaUrl,
    SjBroadCasterData? broadCaster,
    List<String>? likedUserIdList,
    List<String>? followedUserIdList,
    bool? isFollow,
    bool? isLike,
    bool? isBlock,
    bool? isReport,
    String? title,
    String? assetPath,
  }) = _SjMediaData;

  factory SjMediaData.fromJson(Map<String, dynamic> json) =>
      _$SjMediaDataFromJson(json);
}
